<template>
	<view class="inspectContent">
		<view class="upper">
			 <commonNavBar title="智能任务" :showSearch="false"  @search="open" >
				 <template v-slot:right>
					 <image src="/static/img/start-route.png" class="routePlanning2" v-if="roteStatus" @click="routePlan" />
					 <image src="/static/img/navigation.png"  class="routePlanning"  @click="checkRoute" />
				 </template>
			 </commonNavBar>
			<view class="step">
				<view v-for="(tabs,index) in stepList" :key="index" @click="stepActive(index)">
					<view :class="{'active': tabIndex == index}">
						<uni-icons type="arrow-up"  style="font-size: 25rpx;" :color="tabIndex == index ?  '#0552A9':'#999999'" v-if="!tabs.down"></uni-icons>
						<uni-icons type="arrow-down"  style="font-size: 25rpx;" color="tabIndex == index ?  '#0552A9':'#999999'" v-if="tabs.down" ></uni-icons>
						{{ tabs.step }}
					</view>
				</view>
			</view>
		</view>
		<view class="centre">
			<z-paging
				ref="paging"
				autowire-list-name="inspectList" 
				autowire-query-name="listData"
			  >
				<view class="li" v-for="(list, index) in inspectList" :key="index"  @tap="resultListActive(list.ID,list.CHECK_NUM ,list.CHECK_TYPE)">
					<view class="float">{{ list.CHECK_TYPE | taskTypeFilter }}</view>
					<view class="h1">{{ index + 1 }}.{{ list.COMPANY_NAME }}</view>
					<view class="h2">风险等级:{{ list.RISK_LEVEL }}</view>
					<view class="h2">许可证号:{{ list.LICENSE }}</view>
					<view class="h2">所属区局:{{ list.DEPT_QU_NAME }}</view>
					<view class="h2" >监管单位:{{ list.DEPT_NAME }}</view>
					<view class="h2" v-if="tabIndex === 0">截至日期: {{list.TIME_LIMIT}}</view> 
					<!-- <view class="h2" v-if="tabIndex === 1">当前任务:{{ list.CHECK_TIME }}</view> -->
					<view class="h2" v-if="tabIndex === 1">历史问题:{{ list.CHECK_NUM }}</view> 
					<!-- <view class="type" v-if="tabIndex === 1">{{ list.PROCESS_NAME }}</view> -->
					<image class="navigator-check" v-if="roteStatus" @tap.stop="checkedActive(list.roteCheck,index)"
					  :src="list.roteCheck ? '../../static/img/right-bottom-checked.png' : '../../static/img/right-bottom-check.png'"
					 ></image>
				</view>
			</z-paging>
	 
		</view>
		<!-- <view class="fixed">当前已搜索到{{ total }}条数据</view> -->
	</view>
</template>

<script> 
  import commonNavBar from '@/components/CommonNavBar.vue';
	export default {
		components: {
			commonNavBar
		},
		data() {
			return { 
				stepList: [{
					step: '按时限紧急',
					id:"1",
					down: false,
					active: true
				}, {
					step: '按发现问题',
					id:"3",
					down: false,
					active: false
				}, {
					step: '按风险高低',
					id:"4",
					down: false,
					active: false
				}],
				roteStatus: false,
				roteCheckedIndex:[],//导航选中的企业id
				tabIndex:0,
				showSearchCompont:false,
				inspectList: [], 
				total: 0, 
				pageNum:1,
				pageSize:10,
				sortType:1 
			}
		},
		filters:{
			taskTypeFilter:function(value){
				if(value == '1'){
					return '日常任务'
				} else if(value == '2'){
					return '双随机'
				}  else if(value == '3'){
					return '飞行检查'
				}  else if(value == '4'){
					return '体系检查'
				}  else if(value == '5'){
					return '问题整改'
				}  else if(value == '6'){
					return '调查处理'
				}   else if(value == '7'){
					return '风险分级'
				}   else if(value == '8'){
					return '证后审查'
				} 
				
				
			}
		},
		onLoad(options) {
			
			 
		},  
		methods: {
			open() { 
				this.showSearchCompont = true
			},
			checkedActive(state,index){
				const  that = this;
				//导航选择按钮 
				if(state == undefined || !state) {
					this.$set(this.inspectList[index],"roteCheck",true);
					this.roteCheckedIndex.push( this.inspectList[index].ID );
				} else {
					this.$set(this.inspectList[index],"roteCheck",false);
					// 使用splice方法删除数组中的某个数字 
					let indexe = this.roteCheckedIndex.indexOf(this.inspectList[index].ID); // 找到数字3的索引
					if (indexe > -1) {
					  this.roteCheckedIndex.splice(indexe, 1); // 删除索引为index的元素
					}
				} 
			},
			checkRoute(){
				this.roteStatus = !this.roteStatus
			},  
			goBack() {
				uni.navigateBack();
			},
			routePlan(){
				//路线规划
				const that = this;
				if(that.roteCheckedIndex.length == 0){
					uni.showToast({
						icon:'error',
						title:'请先选择企业'
					})
					return;
				}
			 
				uni.navigateTo({
					url: '/pages/inspect/route',
				  success: function(res) {
					// 通过eventChannel向被打开页面传送数据
					res.eventChannel.emit('searchData',{
						companyArr:that.roteCheckedIndex,
						checktype: 1
					})
				  }
				})
				 
				
			},
			async listData(pageNo, pageSize,reload) {  
				try { 
					const res = await uni.$api.intelligentTaskList({
						pageNum:pageNo,
						pageSize:pageSize,
						sortType: this.sortType,
						sortOrder: this.stepList[this.tabIndex].down ? '2' :'1'
					}); 
					this.$refs.paging.completeByKey(res.data.data.records,this.tabIndex);
				}  catch (error) { 
					 this.$refs.paging.complete(false);
				}
				
			},
			checkState(aleeadyCheckNums,index){
				if(aleeadyCheckNums == undefined ){
					return false;
				}
				//判断是否已经检查完成
				const numberList = aleeadyCheckNums.split(",");
				for (var i = 0; i < numberList.length; i++) {
					if(parseInt(numberList[i]) === (index+1) ){
						return true;
					}
				}
				return false; 
			}, 
			stepActive(index) {
				if(this.tabIndex == index){
					this.stepList[index].down = !this.stepList[index].down;
				}
				this.sortType = this.stepList[index].id
				this.tabIndex = index; 
				this.$refs.paging.reload(); 
			},
			/**
			 * @param {Object} id taskType为1的时候是企业id，taskType为5的时候是整改单id
			 * @param {Object} checkNum
			 * @param {Object} taskType
			 */
			resultListActive(id,checkNum,taskType){
				console.log(taskType)
				if(taskType == 1){
					//进入到检查
					uni.navigateTo({
						url: '/pages/inspect/addInspectTabs?companyId=' + id +"&checkNum="+ checkNum   
					})
				} else if(taskType == 5){
					//进入到整改
					uni.navigateTo({
						url: '/pages/rectification/rectificationActive?rectificationId=' + id + "&detail=false"
					}) 
				} 
			}, 
			close() {
				this.$refs.popup.close()
			}, 
			cancellation() {
				this.close()
			} 
		},
		watch: {
			
		},
	}
</script>

<style lang="scss">
	.inspectContent {
		background: #F9F9F9;
		height: calc(100vh - 195rpx);

		.upper {
			position: fixed;
			z-index: 1;
			top: 0;
			left: 0;
			width: 100%;

			.title {
				background: url('../../static/img/inspectBg.png');
				background-size: cover;
				width: 100%;
				height: 115rpx;
				line-height: 115rpx;
				position: relative;
				display: flex;
				justify-content: center;

				.arrow {
					position: absolute;
					left: 33rpx;
					top: 50%;
					transform: translate(0%, -50%);
					width: 100rpx;
					height: 100rpx;
					 
					&::before {
						display: block;
						content: "";
						position: absolute;
						top: 50%;
						left: 0%;
						width: 20rpx;
						height: 20rpx;
						border-left: 1px solid #fff;
						border-top: 1px solid #fff;
						transform: translate(0%, -50%) rotate(-45deg);
					}
				}

				text {
					font-size: 30rpx;
					font-family: PingFangSC-Medium, PingFang SC;
					font-weight: 500;
					color: #FFFFFF;
					letter-spacing: 1px;
				}

				.screen {
					position: absolute;
					right: 30rpx;
					top: 50%;
					transform: translate(0%, -50%);
					width: 35rpx;
					height: 33rpx;
				} 
			}

			.step {
				display: flex;
				justify-content: space-around;
				height: 80rpx;
				line-height: 80rpx;
				background: #F9F9F9;

				view {
					position: relative;
					font-size: 25rpx;
					font-family: PingFangSC-Regular, PingFang SC;
					font-weight: 400;
					color: #999999;

					&.active {
						color: #0552A9;

						&::before {
							display: block;
							content: "";
							position: absolute;
							left: 50%;
							bottom: 0%;
							transform: translate(-50%, 0%);
							width: 100rpx;
							height: 5rpx;
							background: #0552A9;
						}
					}
				}
			}
		}

		.centre {
			margin: 195rpx 0 0 0;
			padding: 0 17.5rpx;
			height: calc(100vh - 280rpx);
			overflow-x: hidden;
			
			.z-paging-content-fixed {
				padding: 195rpx 0 0 0;
			}

			.li {
				background: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 100%);
				box-shadow: 0rpx 8rpx 15rpx 0rpx rgba(0, 0, 0, 0.05);
				border-radius: 15rpx;
				padding: 30rpx 30rpx 15rpx 28rpx;
				position: relative;
				margin: 13rpx 20rpx 0;

				.float {
					position: absolute;
					top: 0;
					right: 0;
					// width: 97rpx;
					padding: 0 10rpx;
					height: 46rpx;
					line-height: 46rpx;
					background: linear-gradient(180deg, #5DA1FF 0%, #0054C9 100%);
					border-radius: 0rpx 11rpx 0rpx 11rpx;
					font-size: 18rpx;
					font-family: PingFangSC-Medium, PingFang SC;
					font-weight: 500;
					color: #FFFFFF;
					text-align: center;
				}

				.h1 {
					font-size: 24rpx;
					font-family: PingFangSC-Medium, PingFang SC;
					font-weight: 500;
					color: #333333;
					line-height: 1;
					margin: 0 0 14rpx 0;
				}

				.h2 {
					font-size: 19rpx;
					font-family: PingFangSC-Regular, PingFang SC;
					font-weight: 400;
					color: #666666;
					line-height: 1;
					margin: 12rpx auto;
				}

				.order {
					margin: 24rpx auto 0; 
					white-space: nowrap;
					overflow-x: auto; 
					
					.dd {
						width: 120rpx;
						height: 55rpx;
						border-radius: 9rpx;
						border: 1rpx solid #979797;
						font-size: 20rpx;
						font-family: PingFangSC-Medium, PingFang SC;
						font-weight: 700;
						color: #A1A1A1; 
						position: relative;
						text-indent: -10rpx;
						display: inline-block;
						text-align: center; 
						
						.dd1{ 
							display: flex;
							flex-direction: column;
							align-items: center;
							justify-content: center; 
							height: 55rpx;
						}

						 
	
						.triangle {
							width: 0;
							height: 0;
							border-top: 8rpx solid transparent;
							border-bottom: 8rpx solid transparent;
							border-left: 10rpx solid #A1A1A1;
							position: absolute;
							top: 50%;
							right: 4rpx;
							transform: translate(-50%, -50%);
						}

						&+.dd {
							margin: 0 0 0 12rpx;
						}

						&.Active {
							border: 1px solid #F9A240;
							background: #F9A240;
							color: #fff;
							
							.triangle {
								border-left: 10rpx solid #fff;
							}
						}
						
						&.special { 
							border: 1px solid #00BE8C;
							background: #00BE8C;
							color: #fff;
							
							.triangle {
								border-left: 10rpx solid #fff;
							}
						}
					}
				}
			}
		}

		.fixed {
			display: none;
			position: fixed;
			left: 50%;
			bottom: 26rpx;
			transform: translate(-50%, 0);
			width: 100%;
			text-align: center;
			font-size: 18rpx;
			font-family: PingFangSC-Regular, PingFang SC;
			font-weight: 400;
			color: #A7A7A7;
		}

		.popupContent {
			background: #FFFFFF;
			border-radius: 20rpx 20rpx 0 0;

			.uni-datetime-picker {
				width: 100%;
			}

			.title {
				width: 100%;
				height: 80rpx;
				line-height: 80rpx;
				background: url('../../static/img/popupTitle.png') no-repeat center center;
				background-size: cover;
				font-size: 25rpx;
				font-family: PingFangSC-Medium, PingFang SC;
				font-weight: 500;
				color: #FFFFFF;
				text-indent: 45rpx;
			}

			.ul {

				.li {
					padding: 0 45rpx;
					margin: 0 auto;
					display: flex;
					justify-content: space-between;
					align-items: center;
					height: 68rpx;
					line-height: 68rpx;
					border-bottom: 1px solid #d6d6d6;
						
					.left {
						font-size: 21rpx;
						font-family: PingFangSC-Regular, PingFang SC;
						font-weight: 400;
						color: #333333;
					}
						
					.right {
						
						input {
							font-size: 21rpx;
							font-family: PingFangSC-Regular, PingFang SC;
							font-weight: 400;
							color: #999999;
							width: 460rpx;
							text-indent: 20rpx;
						}
						
						.placeholder-class {
							color: #999999;
						}
						
						.uni-stat__select {
							width: 460rpx;

							/deep/.uni-select {
								border: none;
							}
						}
						
						.uni-date {
							width: 460rpx;
							
							/deep/.uni-date-editor--x {
								border: none;
							}
						}
					}
					
					&:nth-child(odd) {
						background: #F9F9F9;
					}
					
					&:last-child {
						border-bottom: none;
					}
				}
				
				.li:last-child {
					/deep/.uni-select__selector {
						top: initial;
					}
					
					/deep/.uni-popper__arrow {
						display: none;
					}
				}
			}
			
			.button {
				margin: 58rpx auto 0;
				padding: 0 95rpx 24rpx 95rpx;
				display: flex;
				
				button {
					width: 269rpx;
					height: 55rpx;
					line-height: 55rpx;
					background: #0552A9;
					border-radius: 10rpx;
					font-size: 20rpx;
					font-family: PingFangSC-Regular, PingFang SC;
					font-weight: 400;
				
					&.determine {
						color: #fff;
					}
					
					&.cancellation {
						background: none;
						border: 1rpx solid #979797;
						color: #979797;
					}
				}
			}
		}
	}
	.navigator-check{
		position: absolute;
		width: 100rpx;
		height: 100rpx;
		z-index: 9;
		right: 0px;
		bottom: 0px;
		border-radius: 0rpx 0rpx 15rpx 0rpx;
	}
	
	
	
	.routePlanning {
		position: absolute; 
		top: 50%;
		transform: translate(0%, -50%);
		width: 28rpx;
		height: 33rpx;
	}
	
	.routePlanning2 {
		position: absolute;
		right: 50rpx;
		top: 50%;
		transform: translate(0%, -50%);
		width: 28rpx;
		height: 33rpx;
	}
</style>
